home *** CD-ROM | disk | FTP | other *** search
- function pos(obj, x, y)
- {
- obj._x = 35 + 70 * x;
- obj._y = 525 - 70 * y;
- }
- function done(nextEntry)
- {
- hamsterEntry = nextEntry;
- switch(hamsterEntry)
- {
- case "T":
- hamsterY--;
- break;
- case "R":
- hamsterX--;
- break;
- case "B":
- hamsterY++;
- break;
- case "L":
- hamsterX++;
- }
- if(hamsterX == 9 && hamsterY == endPos)
- {
- status = "victorious";
- }
- else
- {
- var nextPiece = -1;
- var hitSomething = false;
- var i = 0;
- while(i < pNum)
- {
- if(hamsterX == pX[i] && hamsterY == pY[i] && !(drag && dragNum == i))
- {
- hitSomething = true;
- if(hamsterEntry == "T" && pObj3[i].T)
- {
- nextPiece = i;
- }
- if(hamsterEntry == "R" && pObj3[i].R)
- {
- nextPiece = i;
- }
- if(hamsterEntry == "B" && pObj3[i].B)
- {
- nextPiece = i;
- }
- if(hamsterEntry == "L" && pObj3[i].L)
- {
- nextPiece = i;
- }
- if(hamsterFly && pObj3[i].funnel != true)
- {
- nextPiece = -1;
- }
- if(!hamsterFly && pObj3[i].funnel == true)
- {
- nextPiece = -1;
- }
- }
- i++;
- }
- if(hamsterFly && !hitSomething)
- {
- var i = 0;
- while(i < oNum)
- {
- if(hamsterX == oX[i] && hamsterY == oY[i])
- {
- hitSomething = true;
- }
- i++;
- }
- }
- if(nextPiece == -1)
- {
- if(hamsterFly && !hitSomething && hamsterX > 0 && hamsterX < 9 && hamsterY > 0 && hamsterY < 8)
- {
- pos(flying,hamsterX,hamsterY);
- if(hamsterEntry == "T")
- {
- flying.gotoAndPlay("T");
- }
- if(hamsterEntry == "R")
- {
- flying.gotoAndPlay("R");
- }
- if(hamsterEntry == "B")
- {
- flying.gotoAndPlay("B");
- }
- if(hamsterEntry == "L")
- {
- flying.gotoAndPlay("L");
- }
- }
- else
- {
- status = "dead";
- pos(dead,hamsterX,hamsterY);
- dead.dX = -1 + 2 * Math.random();
- dead.dY = -3;
- dead.count = 50;
- soundDead.gotoAndPlay(2);
- switch(hamsterEntry)
- {
- case "T":
- dead._y -= 33;
- dead.dY = - 1;
- break;
- case "R":
- dead._x += 33;
- dead.dX = - 2;
- break;
- case "B":
- dead._y += 33;
- dead.dY = - 5;
- break;
- case "L":
- dead._x -= 33;
- dead.dX = 2;
- }
- }
- }
- else
- {
- switch(hamsterEntry)
- {
- case "T":
- pObj1[nextPiece].gotoAndPlay("T");
- pObj2[nextPiece].gotoAndPlay("T");
- pObj3[nextPiece].gotoAndPlay("T");
- break;
- case "R":
- pObj1[nextPiece].gotoAndPlay("R");
- pObj2[nextPiece].gotoAndPlay("R");
- pObj3[nextPiece].gotoAndPlay("R");
- break;
- case "B":
- pObj1[nextPiece].gotoAndPlay("B");
- pObj2[nextPiece].gotoAndPlay("B");
- pObj3[nextPiece].gotoAndPlay("B");
- break;
- case "L":
- pObj1[nextPiece].gotoAndPlay("L");
- pObj2[nextPiece].gotoAndPlay("L");
- pObj3[nextPiece].gotoAndPlay("L");
- }
- pUsed[nextPiece] = true;
- if(currentPiece != -1)
- {
- pObj1[currentPiece]._alpha = 60;
- pObj3[currentPiece]._alpha = 60;
- }
- currentPiece = nextPiece;
- piecesUsed++;
- if(pObj3[nextPiece].fly)
- {
- hamsterFly = true;
- }
- else
- {
- hamsterFly = false;
- }
- }
- }
- }
- function tidyUp()
- {
- var i = 0;
- while(i < oNum)
- {
- eval("o" + i).removeMovieClip();
- i++;
- }
- var i = 0;
- while(i < pNum)
- {
- pObj1[i].removeMovieClip();
- pObj2[i].removeMovieClip();
- pObj3[i].removeMovieClip();
- i++;
- }
- dead.removeMovieClip();
- start2.removeMovieClip();
- start3.removeMovieClip();
- end3.removeMovieClip();
- cat.removeMovieClip();
- announceLevel.removeMovieClip();
- }
- stopAllSounds();
- var mouseButton = false;
- var mouseX = 0;
- var mouseY = 0;
- var mouseButtonLast = false;
- var drag = false;
- var dragNum;
- background.gotoAndStop(1 + level);
- switch(level)
- {
- case 1:
- var description = "The Garden";
- var startPos = 2;
- var endPos = 3;
- var obstacles = "";
- var pieces = "aaabcdefllll";
- var maxTimer = 40;
- break;
- case 2:
- var description = "The Kitchen";
- var startPos = 3;
- var endPos = 5;
- var obstacles = "334465";
- var pieces = "aacdefnnggha";
- var maxTimer = 40;
- break;
- case 3:
- var description = "The Living Room";
- var startPos = 5;
- var endPos = 2;
- var obstacles = "2534435271728475";
- var pieces = "bbbbccdefhjor";
- var maxTimer = 40;
- break;
- case 4:
- var description = "The Stairs";
- var startPos = 2;
- var endPos = 6;
- var obstacles = "212223242527727374757756";
- var pieces = "bbbcffimnpqorpq";
- var maxTimer = 40;
- break;
- case 5:
- var description = "The Bedroom";
- var startPos = 6;
- var endPos = 2;
- var obstacles = "1526773545557583722234534262";
- var pieces = "kijhmddfororfccbdfdfb";
- var maxTimer = 40;
- }
- mStart2.duplicateMovieClip("start2",2990);
- pos(start2,0,startPos);
- mStart2.stop();
- mStart2._visible = false;
- mStart3.duplicateMovieClip("start3",3990);
- pos(start3,0,startPos);
- mStart3.stop();
- mStart3._visible = false;
- mEnd3.duplicateMovieClip("end3",3991);
- pos(end3,9,endPos);
- mEnd3.stop();
- mEnd3._visible = false;
- var oNum = obstacles.length / 2;
- var oX = new Array();
- var oY = new Array();
- var i = 0;
- while(i < oNum)
- {
- oX[i] = Number(obstacles.charAt(i * 2));
- oY[i] = Number(obstacles.charAt(i * 2 + 1));
- mObstacle.duplicateMovieClip("o" + i,900 + i);
- pos(eval("o" + i),oX[i],oY[i]);
- i++;
- }
- mObstacle._visible = false;
- var pNum = pieces.length;
- var pObj1 = new Array();
- var pObj2 = new Array();
- var pObj3 = new Array();
- var pUsed = new Array();
- var pX = new Array();
- var pY = new Array();
- var i = 0;
- while(i < pNum)
- {
- var j = pieces.charAt(i);
- eval("m" + j + "1").duplicateMovieClip("p" + j + "1" + i,1000 + i);
- eval("m" + j + "1")._visible = false;
- pObj1[i] = eval("p" + j + "1" + i);
- eval("m" + j + "2").duplicateMovieClip("p" + j + "2" + i,2000 + i);
- eval("m" + j + "2")._visible = false;
- pObj2[i] = eval("p" + j + "2" + i);
- eval("m" + j + "3").duplicateMovieClip("p" + j + "3" + i,3000 + i);
- eval("m" + j + "3")._visible = false;
- pObj3[i] = eval("p" + j + "3" + i);
- do
- {
- pX[i] = 1 + Math.floor(7.99 * Math.random());
- pY[i] = 1 + Math.floor(6.99 * Math.random());
- var dupe = false;
- var k = 0;
- while(k < oNum)
- {
- if(pX[i] == oX[k] && pY[i] == oY[k])
- {
- dupe = true;
- }
- k++;
- }
- if(dupe == false)
- {
- var k = 0;
- while(k < i)
- {
- if(pX[i] == pX[k] && pY[i] == pY[k])
- {
- dupe = true;
- }
- k++;
- }
- }
- }
- while(dupe);
-
- pos(pObj1[i],pX[i],pY[i]);
- pos(pObj2[i],pX[i],pY[i]);
- pos(pObj3[i],pX[i],pY[i]);
- pUsed[i] = false;
- i++;
- }
- mDead.duplicateMovieClip("dead",2999);
- mDead.stop();
- mDead._visible = false;
- mFlying.duplicateMovieClip("flying",2889);
- mFlying._visible = false;
- mCat.duplicateMovieClip("cat",500);
- mCat._visible = false;
- grid._visible = false;
- var status = "waiting";
- var hamsterX = 0;
- var hamsterY = startPos;
- var hamsterEntry = "L";
- var hamsterFly = false;
- var timer = maxTimer;
- var piecesUsed = 0;
- var currentPiece = -1;
- mAnnounceLevel.duplicateMovieClip("announceLevel",6000);
- announceLevel.levelText.level = description;
- mAnnounceLevel.stop();
- mAnnounceLevel._visible = false;
-